package com.ms;

/**
 * hashcode,equals方法之间的关系？
 * hashset, hashmap之间的关系？

 hashset的底层是使用hashmap来实现的；
 hashmap的key就是hashset中的值，value是一个固定Object类型 static final Object；
 调用hashset的add方法的时候，实际上是向 HashMap中增加了一行，key就是hashset的当前增加值，value是一个常量；


 hashmap底层是使用数组来维护的；

调用增加的那个对象的hashCode方法来得到一个hashCode值；然后根据该值来计算一个下标索引；（数组中的一个位置）
 接下来，将准备增加到map的对象 和该位置的对象进行比较， 如果相同，那么将该位置的对象Entry的value值替换掉，
 否则，沿着该链条，继续重复

 如果到链条的最后一个，任然没有找到对应相同的对象；
 将对象增加到该数组中，数组中的该位置对象的位置，连接到最后；


 对于hashset hashmap来说这样做来说是为了提高查找的效率，是的查找时间不随着 map, set的size 增加而增加；

 * @author carter
 * create time    2018-08-20
 */
public class TestHashCode {
}
